package Dao;

import static DataBase.DataBase.*;
import DataBase.Resultado;
import Model.Funcionario;
import javax.swing.JOptionPane;
/**
 *
 * @author Thiago
 */
public class FuncionarioDao {
        public static boolean inserirfuncionario(Funcionario Funcionarios){
            try {
                  Object[] valores = new Object[11];
                  valores[0] = Funcionarios.getCod_funcionario();
                  valores[1] = Funcionarios.getNome();
                  valores[2] = Funcionarios.getRg();
                  valores[3] = Funcionarios.getCpf();
                  valores[4] = Funcionarios.getData_nascimento();
                  valores[5] = Funcionarios.getNaturalidade();
                  valores[6] = Funcionarios.getEndereco();
                  valores[7] = Funcionarios.getTelefone();
                  valores[8] = Funcionarios.getData_contrato();
                  valores[9] = Funcionarios.getEmail();
                  valores[10] = Funcionarios.getCargo();

                  executaOperacao("insert into funcionarios values(?,?,?,?,?,?,?,?,?,?,?)", valores);
                  return true;
            } catch (Exception e) {
                  return false;
            }
    }

        public static void deleteFuncionario (Funcionario Funcionarios) {
            try {
                  Object[] valores = new Object[1];
                  valores[0] = Funcionarios.getCod_funcionario();

                  executaOperacao("delete from funcionarios where codigo = ?", valores);
                  JOptionPane.showMessageDialog(null,"Funcionarios Excluido com Sucesso");

            } catch (Exception e) {

                  JOptionPane.showMessageDialog(null, "Nao foi possivel Excluir");
            }
        }

     public static Funcionario localizarFuncionario(Integer codigo){
        Object[] valores = new Object[1];
        valores[0] = codigo;

        Resultado result = executaConsulta("select * from funcionarios where codigo = ?", valores);

        if(result.qtdRegistros() != 0){
            Funcionario funcionario = new Funcionario();
            funcionario.setCod_funcionario((Integer) result.valorCampo(0, "codigo"));
            funcionario.setNome((String) result.valorCampo(0, "nome"));
            funcionario.setRg((String) result.valorCampo(0,"rg"));
            funcionario.setCpf((String) result.valorCampo(0, "cpf"));
            funcionario.setData_nascimento((String) result.valorCampo(0, "data_nascimento"));
            funcionario.setNaturalidade((String) result.valorCampo(0,"naturalidade"));
            funcionario.setEndereco((String) result.valorCampo(0, "endereco"));
            funcionario.setTelefone((String) result.valorCampo(0, "telefones"));
            funcionario.setData_contrato((String) result.valorCampo(0,"data_contrato"));
            funcionario.setEmail((String) result.valorCampo(0, "email"));
            funcionario.setCargo((Integer) result.valorCampo(0, "cargo"));

            return funcionario;
        }else
            return null;
    }

            public static void AtualizarFuncionario(Funcionario Funcionarios){
            try {
                  Object[] valores = new Object[11];
                  valores[0] = Funcionarios.getNome();
                  valores[1] = Funcionarios.getRg();
                  valores[2] = Funcionarios.getCpf();
                  valores[3] = Funcionarios.getData_nascimento();
                  valores[4] = Funcionarios.getNaturalidade();
                  valores[5] = Funcionarios.getEndereco();
                  valores[6] = Funcionarios.getTelefone();
                  valores[7] = Funcionarios.getData_contrato();
                  valores[8] = Funcionarios.getEmail();
                  valores[9] = Funcionarios.getCargo();
                  valores[10] = Funcionarios.getCod_funcionario();

                  executaOperacao("update funcionarios set nome = ?,rg = ?,cpf = ?,data_nascimento = ?, naturalidade = ?, endereco = ?, telefones = ?, data_contrato = ?, email = ?, cargo = ? where codigo = ?", valores);
                  JOptionPane.showMessageDialog(null,"Funcionario Atualizado com Sucesso");
            } catch (Exception e) {
                  JOptionPane.showMessageDialog(null, "Nao foi possivel Atualizar");
            }
    }




}
